package cn.bqjr.eily.shiro.spring.boot;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * 登录错误重试 缓存接口
 */
public interface LoginRetryCache {
    /**
     * 获取指定用户的登录错误重试次数
     * @param loginId
     * @return
     */
    AtomicInteger getRetryCount(String loginId);

    /**
     * 更新指定用户的登录错误重试次数
     * @param loginId
     * @param retryCount
     * @param expires 存活时长
     */
    void updateRetryCount(String loginId, AtomicInteger retryCount, Long expires);

    /**
     * 更新指定用户的登录错误重试次数
     * @param loginId
     * @param retryCount
     */
    void updateRetryCount(String loginId, AtomicInteger retryCount);

    /**
     * 修改指定用户登录重试缓存的存活时间
     * @param loginId
     * @param expires
     */
    void expire(String loginId, Long expires);

    /**
     * 清除指定用户的登录错误重试缓存
     * @param loginId
     */
    void delete(String loginId);
}
